package com.ifyou.entity;


import com.alibaba.fastjson.JSONObject;
import lombok.Data;
import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.data.mongodb.core.mapping.Field;
import org.springframework.data.mongodb.core.mapping.MongoId;

/**
 * 车主中心-关系明细表
 */
@Data
@Document(collection = "car_user_relation")
public class CarUserRelationEntity {
    /**
     * id
     */
    @MongoId
    private Long id;

    /**
     * APPID
     */
    @Field(value = "app_id")
    private String appId;

    /**
     * 车辆id
     */
    @Field(value = "car_id")
    private String carId;

    /**
     * 车辆vin码
     */
    @Field(value = "vin")
    private String vin;

    /**
     * 企业ID
     */
    @Field(value = "org_id")
    private String orgId;

    @Field(value = "org_card_number")
    private String orgCardNumber;

    /**
     * 用户userId
     */
    @Field(value = "user_id")
    private String userId;

    /**
     * 车主电话
     */
    @Field(value = "phone")
    private String phone;

    /**
     * 证件号码
     */
    @Field(value = "card_number")
    private String cardNumber;

    /**
     * 关系类型 0-企业关系，1-车主（个人）关系，2-司机关系（主），3-司机关系（副），4-车队长，5-管理员，6-安检员，7送修人，8事件关系
     */
    @Field(value = "type")
    private Byte type;

    /**
     * 事件类型（type = 8时传参）
     */
    @Field(value = "event")
    private Byte event;

    /**
     * 关系详情JSON
     */
    @Field(value = "relation_info")
    private JSONObject relationInfo;

    /**
     * 状态（0绑定中、1已解绑）
     */
    @Field(value = "status")
    private Byte status;

    /**
     * 创建人
     */
    @Field(value = "create_user")
    private String createUser;

    /**
     * 创建时间
     */
    @Field(value = "create_time")
    private Long createTime;

    /**
     * 修改人
     */
    @Field(value = "update_user")
    private String updateUser;

    /**
     * 修改时间
     */
    @Field(value = "update_time")
    private Long updateTime;

    /**
     * 删除人
     */
    @Field(value = "delete_user")
    private String deleteUser;

    /**
     * 删除时间
     */
    @Field(value = "delete_time")
    private Long deleteTime;
}